package com.tools.model.entity;

import com.tools.commons.base.BaseEntity;
import com.tools.commons.utils.IdGenerator;
import com.tools.commons.utils.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.annotations.Where;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

@Entity
@Data
@Table(name = "t_task")
@ApiModel("t_task")
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Where(clause = "deleted = 0")
@EqualsAndHashCode(callSuper = true)
public class TasksEntity extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty("自增id")
    @Column(name = "id")
    private Integer id;

    @Column(name = "task_id")
    private String taskId;

    @ApiModelProperty("发布医生id")
    @Column(name = "user_id")
    private String userId;

    @ApiModelProperty("title")
    @Column(name = "title")
    private String title;

    @ApiModelProperty("content")
    @Column(name = "content")
    private String content;

    @ApiModelProperty("picIds")
    @Column(name = "pic_ids")
    private String picIds;

    @Override
    protected void preUpdate() {
        super.preUpdate();
        if (StringUtils.isBlank(this.taskId)) {
            this.taskId = IdGenerator.uuid();
        }
    }
}



/*
用户表
用户id 手机号 身份

用户信息表
姓名、后台插入数据时间、手机号（xx）、性别、年龄

医生信息表
姓名、邮箱、手机号（xx）、所在医院、所在科室


图片表
图片id 文件名 文件类型 文件云存储key 创建时间、更新时间、是否删除


任务表
发布医生、标题、内容文字描述、图片(图片)、截止时间、type()---框


任务病人关联表
主键id 标题 、任务id 病人id 反馈数据 反馈类型(图片、数据)

病人图片表
图片编号 图片id 关联表id
 */
